package com.example.tse.rbhttpservice.service;

import android.content.Context;
import com.example.tse.rbhttpservice.service.member.MemberOrderService;
import com.example.tse.rbhttpservice.service.member.MemberOrderServiceImpl;
import com.example.tse.rbhttpservice.service.account.AccountService;
import com.example.tse.rbhttpservice.service.account.AccountServiceImpl;
import com.example.tse.rbhttpservice.service.member.MemberInfoService;
import com.example.tse.rbhttpservice.service.member.MemberInfoServiceImpl;
import com.example.tse.rbhttpservice.service.activities.ActivitiesSeckillService;
import com.example.tse.rbhttpservice.service.activities.ActivitiesSeckillServiceImpl;
import com.example.tse.rbhttpservice.service.common.CommonService;
import com.example.tse.rbhttpservice.service.common.CommonServiceImpl;
import com.example.tse.rbhttpservice.service.shopping.ShoppingService;
import com.example.tse.rbhttpservice.service.shopping.ShoppingServiceImpl;
import com.example.tse.rbhttpservice.service.goods.GoodsService;
import com.example.tse.rbhttpservice.service.goods.GoodsServiceImpl;
import com.example.tse.rbhttpservice.service.member.MemberCouponService;
import com.example.tse.rbhttpservice.service.member.MemberCouponServiceImpl;
import com.example.tse.rbhttpservice.service.member.MemberGiftService;
import com.example.tse.rbhttpservice.service.member.MemberGiftServiceImpl;
import com.example.tse.rbhttpservice.service.member.MemberFavoriteService;
import com.example.tse.rbhttpservice.service.member.MemberFavoriteServiceImpl;
import com.example.tse.rbhttpservice.service.member.MemberAddressService;
import com.example.tse.rbhttpservice.service.member.MemberAddressServiceImpl;
import com.example.tse.rbhttpservice.service.member.MemberSettingService;
import com.example.tse.rbhttpservice.service.member.MemberSettingServiceImpl;
import com.example.tse.rbhttpservice.service.home.HomeService;
import com.example.tse.rbhttpservice.service.home.HomeServiceImpl;
/**
 * 远程服务工厂
 * @author wliu
 */
public class RemoteServiceFactory {
	private static RemoteServiceFactory instance;
	

	/**
	 * 得到远程服务工厂
	 * @return
	 */
	public static RemoteServiceFactory getInstance() {
		synchronized (RemoteServiceFactory.class){
			if (instance==null) {
				instance = new RemoteServiceFactory();
			}
		}
		return instance;
	}
	/**
	 * @param context
	 * @return
	 */
	public MemberOrderService getMemberOrderService(Context context) {
		return new MemberOrderServiceImpl(context);
	}
	/**
	 * @param context
	 * @return
	 */
	public AccountService getAccountService(Context context) {
		return new AccountServiceImpl(context);
	}
	/**
	 * @param context
	 * @return
	 */
	public MemberInfoService getMemberInfoService(Context context) {
		return new MemberInfoServiceImpl(context);
	}
	/**
	 * @param context
	 * @return
	 */
	public ActivitiesSeckillService getActivitiesSeckillService(Context context) {
		return new ActivitiesSeckillServiceImpl(context);
	}
	/**
	 * @param context
	 * @return
	 */
	public CommonService getCommonService(Context context) {
		return new CommonServiceImpl(context);
	}
	/**
	 * @param context
	 * @return
	 */
	public ShoppingService getShoppingService(Context context) {
		return new ShoppingServiceImpl(context);
	}
	/**
	 * @param context
	 * @return
	 */
	public GoodsService getGoodsService(Context context) {
		return new GoodsServiceImpl(context);
	}
	/**
	 * @param context
	 * @return
	 */
	public MemberCouponService getMemberCouponService(Context context) {
		return new MemberCouponServiceImpl(context);
	}
	/**
	 * @param context
	 * @return
	 */
	public MemberGiftService getMemberGiftService(Context context) {
		return new MemberGiftServiceImpl(context);
	}
	/**
	 * @param context
	 * @return
	 */
	public MemberFavoriteService getMemberFavoriteService(Context context) {
		return new MemberFavoriteServiceImpl(context);
	}
	/**
	 * @param context
	 * @return
	 */
	public MemberAddressService getMemberAddressService(Context context) {
		return new MemberAddressServiceImpl(context);
	}
	/**
	 * @param context
	 * @return
	 */
	public MemberSettingService getMemberSettingService(Context context) {
		return new MemberSettingServiceImpl(context);
	}
	/**
	 * @param context
	 * @return
	 */
	public HomeService getHomeService(Context context) {
		return new HomeServiceImpl(context);
	}

}
